Traditional information retrieval systems return search results after a submits a fully formulated search query. A system waits for the user to type the query, after which it is the user who waits the system to process the search request. With such systems, the user has little visibility into how effectively the formulated search query may locate information of interest prior to completion the processing of the query. The user guesses, beforehand, what query pattern is sufficient for the system to distinguish the desired information from other, similar information within the searched content. This information-access paradigm is referred to as “delimited search”.
Delimited search is opposed to an incremental search in which as the user types the search query character by character, possible matches for the partially typed query are found and presented to the user. Incremental search is also referred to as search-as-you-type, type-ahead-search, find-as-you-type, etc. With incremental search, search query suggestions or search query results are dynamically presented potentially upon each keystroke. The incremental search provides constant feedback as to the results while the user incrementally enters the search query. Incremental searching results in an increased number of search queries generated potentially by each keystroke compared to one query per submission. The increased number of search queries may increase the system's response time as perceived by the user. The perception of increased response time may have a negative effect on user satisfaction and usability of the search interface.